Soru & Cevap

JSON sdece son veri görünüyor

06.10.2016 - 12:39
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btileri = (Button)findViewById(R.id.button);
        final TextView tv = (TextView)findViewById(R.id.textView);
        btileri.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                StringBuilder stringBuilder = new StringBuilder();
                InputStream is = getResources().openRawResource(R.raw.json_deneme);
                try{
                    byte buffer[] = new byte[is.available()];
                    while ( is.read(buffer) != -1);

                    String jsonVerisi = new String(buffer);
                    JSONObject jsonObject = new JSONObject(jsonVerisi);
                    JSONArray deneme = jsonObject.getJSONArray("JSON_DENEME");


                    for( int i = 0; i < deneme.length(); i++){
                        JSONObject object = deneme.getJSONObject(i);

                        String denemeid = object.getString("deneme_id");
                        String soruid = object.getString("sorusirasi");
                        String soru = object.getString("soru");
                        String cevap = object.getString("dogru_cevap");

                        tv.setText("deneme no : " + denemeid +","+"soru no : " + soruid + "," + "soru : "+ soru + "CEVAP : "+ cevap );

                    }

                }catch (IOException e){
                    e.printStackTrace();
                }catch (JSONException e){
                    e.printStackTrace();
                }
            }
        });
    }
    }

merhaba arkadaşlar bu kodlar bilgi yarışması için yazıldı. 5 tane veriden oluşan bir deneme.json dosyası var raw klasörünün içinde. butona bastığımda veriler sırasıyla gelsin istiyorum ama bastığımda hep en son veri geliyor. bunun sebebi nedir acaba ?

6 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user samcro
samcro
07.10.2016 - 10:17

Sadece son satır dönmüyor, sen programa sadece son satırı dahil ediyorsun, en son aldıgın veri ile txtview'in içindeki verileri değiştiriyorsun, json'ı parçaladıktan sonra bu verileri saklamak istiyorsan bunları bir Listede saklayabilirsin. 

private static String DENEME_ID = "deneme_id";
private static SORU_ID = "sorusirasi";

JSONArray jsonArray = new JSONArray(json);
for (int i = 0, limit = jsonArray.length(); i < limit; i++) {
      JSONObject j = jsonArray.getJSONObject(i);
       Log.e("deneme_id", j.getString(DENEME_ID);

       Log.e("soru_id", j.getString(SORU_ID);
}